System and method for managing multiple concurrent communication sessions using a graphical call connection metaphor

ABSTRACT

Disclosed herein are systems, methods, and non-transitory computer-readable storage media for managing a plurality of concurrent communication sessions via a graphical user interface (GUI). A system configured to practice the method presents a set of connected graphical elements representing a structure of the respective communication session via the GUI for each of a plurality of concurrent communication sessions. Each communication session has at least two participants and the appearance of the set of connected graphical elements is based on a communication mode. The system receives user input associated with one set of connected graphical elements and having an action associated with the respective communication session, and performs the action based on the received user input. The communication mode is one of voice over IP (VoIP), phone, videoconference, instant messaging, text messaging, and email. The action can combine two communication sessions or split one communication session into multiple communication sessions.

RELATED APPLICATIONS

This application claims priority to U.S. Provisional Application No. 61/164,753, files 30 Mar. 2009, which is incorporated herein by reference in its entirety.

This application is related to Attorney Docket Numbers 509022-US2 (application Ser. No. ______), 509022-US3 (application no.), 509022-US4 (application Ser. No. ______), 509022-US5 (application no.), 509048-US (application Ser. No. ______), 509049-US (application no.), and 509098-US (application Ser. No. ______), filed on Mar. 29, 2010, each of which is herein incorporated by reference.

BACKGROUND

1. Technical Field

The present disclosure relates to telecommunications and more specifically to managing multiple concurrent communication sessions via a graphical user interface (GUI). Communication sessions can exist in a variety of modes such as telephone calls, communication sessions, instant messaging sessions, email sessions, video conference sessions, multi-media sessions, and the like.

2. Introduction

Touchtone telephones have been supplemented over the years by the addition of feature buttons and menus. Interfaces for these features have evolved from simple buttons to hierarchical menus actuated by trackballs, quadrant style pointers, and the like. As the number of features increases, the interfaces add more buttons, sequences, and/or combination of button presses. This proliferation of features has led to a multitude of different interfaces with varying levels of complexity. Often users resort to rote memorization of key features, but that is not always practical or desirable. Recently, smartphones with touch-sensitive displays have begun to provide similar functionality. However, the touch-sensitive displays in such devices typically reproduce the feature buttons and menus, albeit on a touch-sensitive display.

Further, users are migrating to other communication forms, such as text messaging, instant messaging, email, chat sessions, video conferencing, and so forth. Incorporating the ability to handle these modes of communication into a traditional telephone increases the complexity and difficulty manyfold. What is needed in the art is a more intuitive communication management interface.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and other advantages and features of the disclosure can be obtained, a more particular description of the principles briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only exemplary embodiments of the disclosure and are not therefore to be considered to be limiting of its scope, the principles herein are described and explained with additional specificity and detail through the use of the accompanying drawings in which:

FIG. 1 illustrates an example system embodiment;

FIG. 2A illustrates an initial view not having any communication sessions;

FIG. 2B illustrates a view of an incoming communication session;

FIG. 2C illustrates an initial view after accepting the incoming communication session;

FIG. 2D illustrates a view of the communication session after adding a third party;

FIG. 3 illustrates a network view of the communication session;

FIG. 4 illustrates a second view of the communication session;

FIG. 5 illustrates a third view of the communication session with other concurrent communication sessions;

FIG. 6A illustrates an action to merge two communication sessions;

FIG. 6B illustrates a first example of the merged communication sessions;

FIG. 6C illustrates a second example of the merged communication sessions; and

FIG. 7 illustrates an example method embodiment.

DETAILED DESCRIPTION

Various embodiments of the disclosure are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the disclosure.

The present disclosure addresses the need in the art for improved management of multiple concurrent communication sessions. A companion case (Attorney Docket Number 509022US1; 069-0011US1) discloses a graphical interface which enables a user to setup a communication session with various users and tear down or remove users from a communication session. A system and method are disclosed which displays on a graphical user interface multiple sets of graphical connected elements, each set representing a structure of a particular communication session, group of communication sessions, or incoming communication requests for a user. A brief introductory description with reference to FIGS. 2A-2D will be provided, followed by a discussion of a basic general purpose system in FIG. 1 which can be employed to practice the concepts disclosed herein and more detailed descriptions of methods and graphical interfaces.

Presenting the graphical interface of FIGS. 2A-2D, which illustrates the communication session, enables the system to receive via the interface user input, which can include multimodal user input, to manage the communication session. For example, a user on a conference call can drag and drop or otherwise move and locate from a contacts list another person to add to the communication session. The system receives that input and automatically dials the phone number for that contact and adds them to the conference call. Users can be dropped from the call by dragging a connected element representing the user to a trash bin or other icon representing deleting them from the communication session.

The communication session is also agnostic with respect to the mode of communication. The same metaphor of a connected user in a communication session being displayed on the graphical interface can represent a called/calling user, an instant messaging (IM) user, an email user, a user connecting via video conferencing, multi-media, web conferencing, and so forth. For example, from the context shown in FIG. 2A, the user can select a contact and then use the same type of user input (drag and drop, flicking, gestures, etc.) to initiate any of the communication modes with that person. The user does not have to know or learn different input mechanisms for different communication modes.

The presentation of the graphical elements in connection with participants in a session, how they are connected and how the user interacts with the elements all vary depending on the needs and current active context of the communication session. For example, elements associated with participants in a session can include text, titles, positions, or any other data about each user. The connection metaphor between users can also represent information such as the type of connection (phone, video, web conference, etc), the quality of the connection (low-band, high-band, etc.), a hierarchy of how participants are related to the primary user (friend, associate, acquaintance, un-trusted user, etc.), a status of the connection (active, inactive, on-hold, etc.), and so forth. These variations shall be discussed herein as the various embodiments are set forth. The disclosure now turns to FIG. 1.

With reference to FIG. 1, an exemplary system 100 includes a general-purpose computing device 100, including a processing unit (CPU or processor) 120 and a system bus 110 that couples various system components including the system memory 130 such as read only memory (ROM) 140 and random access memory (RAM) 150 to the processor 120. The system 100 can include a cache 122 of high speed memory connected directly with, in close proximity to, or integrated as part of the processor 120. The system 100 copies data from the memory 130 and/or the storage device 160 to the cache 122 for quick access by the processor 120. In this way, the cache 122 provides a performance boost that avoids processor 120 delays while waiting for data. These and other modules can be configured to control the processor 120 to perform various actions. Other system memory 130 may be available for use as well. The memory 130 can include multiple different types of memory with different performance characteristics. It can be appreciated that the disclosure may operate on a computing device 100 with more than one processor 120 or on a group or cluster of computing devices networked together to provide greater processing capability. The processor 120 can include any general purpose processor and a hardware module or software module, such as module 1 162, module 2 164, and module 3 166 stored in storage device 160, configured to control the processor 120 as well as a special-purpose processor where software instructions are incorporated into the actual processor design. The processor 120 may essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multi-core processor may be symmetric or asymmetric.

The system bus 110 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. A basic input/output (BIOS) stored in ROM 140 or the like, may provide the basic routine that helps to transfer information between elements within the computing device 100, such as during start-up. The computing device 100 further includes storage devices 160 such as a hard disk drive, a magnetic disk drive, an optical disk drive, tape drive or the like. The storage device 160 can include software modules 162, 164, 166 for controlling the processor 120. Other hardware or software modules are contemplated. The storage device 160 is connected to the system bus 110 by a drive interface. The drives and the associated computer readable storage media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the computing device 100. In one aspect, a hardware module that performs a particular function includes the software component stored in a non-transitory computer-readable medium in connection with the necessary hardware components, such as the processor 120, bus 110, display 170, and so forth, to carry out the function. The basic components are known to those of skill in the art and appropriate variations are contemplated depending on the type of device, such as whether the device 100 is a small, handheld computing device, a desktop computer, or a computer server.

Although the exemplary embodiment described herein employs the hard disk 160, it should be appreciated by those skilled in the art that other types of computer readable media which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, digital versatile disks, cartridges, random access memories (RAMs) 150, read only memory (ROM) 140, a cable or wireless signal containing a bit stream and the like, may also be used in the exemplary operating environment. Non-transitory computer-readable storage media expressly exclude media such as energy, carrier signals, electromagnetic waves, and signals per se.

To enable user interaction with the computing device 100, an input device 190 represents any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth. An output device 170 can also be one or more of a number of output mechanisms known to those of skill in the art. If the device includes a graphical display which also receives touch sensitive input, the input device 190 and the output device 170 can be essentially the same element or display. In some instances, multimodal systems enable a user to provide multiple types of input to communicate with the computing device 100. The communications interface 180 generally governs and manages the user input and system output. There is no restriction on operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.

For clarity of explanation, the illustrative system embodiment is presented as including individual functional blocks including functional blocks labeled as a “processor” or processor 120. The functions these blocks represent may be provided through the use of either shared or dedicated hardware, including, but not limited to, hardware capable of executing software and hardware, such as a processor 120, that is purpose-built to operate as an equivalent to software executing on a general purpose processor. For example the functions of one or more processors presented in FIG. 1 may be provided by a single shared processor or multiple processors. (Use of the term “processor” should not be construed to refer exclusively to hardware capable of executing software.) Illustrative embodiments may include microprocessor and/or digital signal processor (DSP) hardware, read-only memory (ROM) 140 for storing software performing the operations discussed below, and random access memory (RAM) 150 for storing results. Very large scale integration (VLSI) hardware embodiments, as well as custom VLSI circuitry in combination with a general purpose DSP circuit, may also be provided.

The logical operations of the various embodiments are implemented as: (1) a sequence of computer implemented steps, operations, or procedures running on a programmable circuit within a general use computer, (2) a sequence of computer implemented steps, operations, or procedures running on a specific-use programmable circuit; and/or (3) interconnected machine modules or program engines within the programmable circuits. The system 100 shown in FIG. 1 can practice all or part of the recited methods, can be a part of the recited systems, and/or can operate according to instructions in the recited non-transitory computer-readable storage media. Such logical operations can be implemented as modules configured to control the processor 120 to perform particular functions according to the programming of the module. For example, FIG. 1 illustrates three modules Mod1 162, Mod2 164 and Mod3 166 which are modules configured to control the processor 120. These modules may be stored on the storage device 160 and loaded into RAM 150 or memory 130 at runtime or may be stored as would be known in the art in other computer-readable memory locations.

Having briefly discussed the exemplary system embodiment, the disclosure now turns to FIGS. 2A, 2B, 2C, and 2D and other graphical views of an interface for managing communication sessions. A system 100, such as the one described in FIG. 1, can be configured to display a graphical user interface 200, such as the one described in FIGS. 2A-2D, and receive input for manipulating and managing the communication session. In one aspect, the system 100 interacts with a communications device, such as a telephone, instant messenger, personal or mobile computer, or email device to manage the communication session. For example, a user may have a desktop telephone that is in communication with a computing device which can interface with the telephone and present a display such as that shown in FIGS. 2A-2D to manage communication sessions using the telephone.

FIG. 2A illustrates a display 200 of an initial graphical view without any communication sessions. The display 200 can include a series of icons 208, 210, 212, 214, 216, 220, and a contacts list 218 for initiating a communication session or interacting with an incoming communication session, for example. The series of FIGS. 2A-2D shall illustrate communication session management features such as setup and teardown of communication sessions, adding and removing participants from sessions, and so forth from the initial state shown in FIG. 2A.

As shall be discussed, from the context of FIG. 2A, the user can identify a person to contact, and then initiate any type of communication using the same mode to initiate any other type of communication. The system is agnostic in this respect. A drag and drop, gesture, tapping or any input mode described herein can be used to initiate and establish a phone call, teleconference with a group of individuals, an IM or email session, and so forth. Various examples of different inputs will be described in connection with the utility icons 208, 210, 212, 214, 216, 220 but any input mode can be applied to engage any utility.

FIG. 2B illustrates a view of an incoming communication session 201. The incoming communication session 201 can be an incoming phone call, incoming instant message, incoming text message, incoming request for a web conference or, in this case, an incoming video conference. The incoming communication session 201 shows an icon 206 representing the requester, Karl. The icon 206 can include sub-parts such as a name/title 206 a and a communication modality icon 206 b, among others. The user can interact with the incoming communication session 201, for example, by clicking and dragging a modality icon onto the incoming communication session 201 to accept the incoming video conference request from Karl 206. In this example, the user clicks and drags 250 the icon for the telephone modality 208. The user can select a different icon. The user can also provide other types of input to interact with communication sessions, such as tapping an icon via a touch screen or stylus, a flicking gesture, mouse clicks/movements, speech input, keyboard input, swipes or taps on a touch-sensitive surface, touchless gestures, and/or any other combination of suitable user input. In the case of touch, for example, taps of different duration or pressure can perform different actions. User input can include mouse movement, clicks, right clicks, double clicks, dragging, flicking, hovering, gestures, and so forth. The device can be shaken or tilted to receive accelerometer input, or positional/orientation input that indicates certain actions. Actions generally relate to connecting a utility icon with one ore more entities to perform functions such as ignore, send a message, accept an incoming call, create a communication session, remove a person from a session, and so forth.

Although FIG. 2B illustrates an incoming communication session 201, the user can initiate communication sessions in a number of other ways. For example, the user can drag a contact from a list of contacts 218 onto one of the communication modality icons 208, 210, 212, 214, 216. The user can also scroll through the list of contacts 218 to locate and select a contact 204 having an identifier 204 a or group of desired contacts, then double-click or tap on the selected group to initiate a communication session. The identifier 204 a can also include a graphic or icon showing available modes of communication for that contact (IM only), presence information (in their office but on a call) or scheduling information (such as the person is/is not available but has an opening in 1 hour). Information in a graphical form can also include local time, a time in the time zone of the host of the communication session, and/or biological time. Biological time can be an aspect of context. For example, a person who is acclimated to the Pacific time zone but who is currently located in the Eastern time zone may accept telephone call communication sessions at 10:00 p.m. local time even though others in the Eastern time zone may not. This information can help the user know whether to seek a communication with that contact. Such information can also be presented in connection with any icon or graphic representing an entity in a communication session. Other user interface variations can be used in addition to or in place of these examples.

FIG. 2C illustrates a view after the user accepts the incoming communication session 201. In addition to the icon for Karl 206, the user's own icon 202 (the example user being Frank Grimes) appears in the communication session 201 as an icon 202 connected to Karl 206. Franks's icon 202 is optional and can include sub-parts such as a name/title 202 a and a communication modality icon 202 b. In this case, because the user responded to the incoming request with the telephone icon 208, Frank 202 communicates with Karl 206 in the communication session 201 via telephone, indicated by the smaller telephone icon 202 b. Karl's icon 206 includes a video icon 206 b which can represent video conferencing capability. Assume Frank 202 then wishes to add Max Power 204 from a list of contacts 218 to the communication session 201. The user 202 clicks and drags 252 Max Power's icon 204 directly from the list of contacts 218 and drops it on the communication session 201. The system 100 adds Max Power to the communication session as shown in FIG. 2D.

The system 100 can provide an interface to the user such that the user can use multiple different connection metaphors to establish or manipulate communication sessions. For example, the system 100 can display participant icons on the screen, show interconnections between participants and allow the user to place mode icons on each interconnection to establish the session. The system 100 can allow the user to position participant icons on the screen, select a mode and hit a button such as “go” or “connect”. The system 100 can place participant icons on the screen, overlay communication mode icons on each participant icon and allow the user to hit “go” or “connect”. These interface options are exemplary. The actual interface can be implemented in any of a number of variations.

In one aspect, participants join the communication session 201 via a telephone call. However, the communication session 201 is neutral with respect to various communication modalities and treats each the same even as users seek to join a call or other communication session.

In another aspect, the system 100 integrates the functions of one or more communications device. In this case, the display 200 shown in FIG. 2D may represent a computing device 100 (such as is generally shown in FIG. 1) that includes a microphone and speakers as well as a display. Such a device could act both as (1) a simple telephone to communicate via a telephone call the user's voice to another caller or a communication session and/or (2) a communication session management system for displaying an image representing the various parties or entities involved in the session and receive instructions to add or remove individuals and other wise manage the variety of parameters that are associated with a communication session 200.

The system 100 receives input via a physical or on-screen keyboard, mouse, stylus, touch screen, speech command, and/or single-touch or multi-touch gestures. Before a communication session is established, the system 100 can show a home screen where the graphical elements representing communications utilities such as 208, 210, 212, 214, 216 and 220 are shown. In one variation, the system 100 displays a summary or welcome page showing a short summary of news, messages, contacts, upcoming calendar events, and/or configuration options. In yet another variation, the system 100 displays a default input mechanism, such as a ten-key numeric pad for dialing telephone numbers.

The display 200 shows a communication session 201 of three connected graphical elements or entities 202, 204, 206. The set of graphical elements can include images, caricatures, avatars, text, and/or a hyperlink to additional information related to a user associated with the graphical elements. Any combination of graphical data can be presented to provide information about individual users, a connection mode, status, presence, other mode capabilities, and so forth. The text can include a name, a title, a position, a bio, a telephone number, email address, a current status, presence information, and location. The system can change or animate the graphical elements based on a contacted party context, persona, presence, and/or other factors. For example, an element may show an avatar or the person's face but show their eyes closed. This can mean that the person is not actively on the call or paying attention to the call. The avatar may show the person looking away or to the side or can show the person shaded or in some other graphical representation that they are not actively on the call, or that they have muted the call, on a sidebar and so forth. Active connections to the communication session can be visually represented as a graphical connection metaphor having overlapping graphical elements, a line connecting graphical elements, a shape connecting graphical elements, a shape with radiating lines connecting graphical elements, and/or a common augmented appearance of graphical elements. Overlapping or otherwise grouping graphical elements can represent individuals at one location. In such a case, information about the location can also be provided. Further, changing color, thickness, animation, texture, and/or length of graphical elements can indicate a relationship or status of entities represented by the graphical elements.

The displayed communication session 201 in FIG. 2D represents a real-time communication of entities in a session. In this example, the real-time communication is a three-way communication session 201 between Frank Grimes 202, Max Power 204, and Karl 206, shown by connecting lines between their respective icons 202, 204, 206. It is assumed in FIGS. 2A-2D that Frank 202 is viewing this particular screen and is the host or manager of the communication session 201. Thus, the display 200 is the graphical display the system presents to him. Later figures will show the same communication session from the points of view of the other participants.

The call setup or communication session set up procedure shall be discussed next. In order to establish a communication session 201, the user can drag and drop a contact from a list of contacts 218 or from some other selection mechanism into the blank area or some designated spot such as over a the element 202 representing Frank Grimes. Each participant in the communication session 201 or contact in a list of contacts can have multiple associated addresses, phone numbers, or points of contact, such as a work phone, home phone, mobile phone, work email, home email, AIM address, social networking address such as a Facebook chat address, and the like. Each participant may also have an icon 202 b, 204 b, 206 b or a qualifier that indicates not only the party but the contact mode. At this stage, a telephone number to be called or other communication address for alternate modes needs to be identified. The system can present an interface or menu which enables the user to enter via a keypad of any type a phone number to dial or to select a number for the user from a listing of numbers, or type in an email address for example if the user only can be reached by email. The system may only have one phone number for the selected contact and automatically dial that number. The system may also automatically select from available numbers based on any criteria such as previous history, presence information, etc. FIG. 2D illustrates the stage in the process in which the user Frank Grimes 202 has created a communication session with both Max Power 204 and Karl 206 as shown and described in FIGS. 2A, 2B, and 2C.

The communication session 201 is not limited to a telephone call. The interface 200 enables the management of any communication session mode. When the user initiates a call, instant message, text message, videoconference, or the like with another user, the system 100 establishes a connection to the other party and displays a graphical representation of the communication session with the other party on the screen. The user can then add additional parties to the communication session in a similar manner. The user can remove participants from a communication session by dragging their element to a trash can icon 220, providing a flicking motion, clicking an X associated with that participant, highlight a participant and shaking the device, if it is mobile with accelerometer capability or click a physical or graphical disconnect button. In one aspect where the communication session is via telephone, the system 100 removes participants from the communication session when the user hangs up the telephone receiver. As participants leave the communication session 201, the system 100 removes their icon from the graphical representation of the communication session. As can be appreciated, adding and removing individual participants to and from the communication session occurs via the same drag and drop or other user input.

The graphical elements in FIGS. 2A-2D are icons, but can also include images, text, video, animations, sound, caricatures, and/or avatars. Users can personalize their own graphical elements or feed a live stream of images from a camera or video camera, for example. In addition, the graphical elements can have an associated string of text 202 a, 204 a, 206 a. The string of text can include a name, a title, a position, a telephone number, email address, a current status, presence information, location, and/or any other available information. The string of text can be separate from but associated with the graphical element, as shown in FIGS. 2A-2D. Alternatively, the system 100 can overlay the string of text on top of the graphical element or integrate the text as part of the graphical element. All or part of the text and/or the graphical elements can be hyperlinks to additional information related to the user associated with the text or graphical elements, such as a blog or micro blog, email address, presence information, and so forth.

The system 100 can include for each icon 202, 204, 206 a respective graphical sub-element 202 b, 204 b, 206 b that indicates the communication mode for each participant. For example, Max Power 204 is participating via an instant messaging (IM) client 204 b; Frank Grimes 202 is participating via telephone 202 b; Karl 206 is participating via a video conference client 206 b. The system 100 is mode-neutral, meaning that the system 100 treats each mode of communication the same, such as telephone, cellular phone, voice over IP (VoIP), instant messaging, e-mail, text messaging, and video conferencing. As a user changes from one mode to another, the sub-elements can change accordingly. For example, if Frank Grimes 202 changes from a landline to a cellular phone mid-conference, the telephone icon 202 b can change to a mobile phone icon.

Inasmuch as the system enables users to communicate in a session in different modes, the system can also modify the modes to align them in the session. Instant messages can be converted to speech and spoken in the teleconference from Max Power and speech can also be converted to text and transmitted to Max Power 204 for effective communication across modes.

The graphical elements can also convey information about the communication session by changing type, size, color, border, brightness, position, and so forth. The lines, for example, can convey relationships between participants. A user can manually trigger the changes for his or her own icon or others' icons, or the system 100 can detect change events and change the graphical elements accordingly. Change events can be based on a contacted party, context, persona, and/or presence. For example, as one person is talking, the system 100 can enlarge the icon representing that person. As another example, the system 100 can track how much each person in the communication session is talking and move graphical elements up and down based on a total talk time in the communication session.

In another variation, the system 100 modifies the links connecting the graphical elements 202, 204, 206 by changing their thickness, length, color, style, and/or animating the links. These modifications can represent a currently talking party, shared resources, an active communication session status, a held communication session status, a muted communication session status, a pending communication session status, a connecting communication session status, a multi-party line, a sidebar conversation, a monitored transfer, an unmonitored transfer, selective forwarding, selective breakup of the communication session into multiple communication sessions, and so forth. In this manner, the user can obtain knowledge about the status of the session, the types of communications that are occurring, and other important details about the communication session.

In one aspect, a user provides input such as a gesture (such as drag and drop, tap and drag with a touch screen or performs any other instructive user input) to manipulate and manage the communication session. For example, the user can click a call icon 208, a video conference icon 210, an IM icon 212, an icon button 214, or a social media icon 216 to invite another user to join the communication session. A user can drag these icons and drop them on a contact or on a participant in a current communication session. For example, if an incoming communication session is in one modality (IM 212 for example), the user can drag the call icon 208 onto the incoming communication session to accept the incoming communication session but transcode it from IM to a call.

Some basic examples of how a user can interact with such icons are provided below. The disclosure will step through example uses of each utility icon 208, 210, 212, 214, 216 and 220. The first example will illustrate use of the calling icon 208. Assume the users Karl 206 and Frank 202 are shown as in FIG. 2C in a communication session but that it is via email and not a phone call. Frank 202 could desire to simply talk on the phone. In this case, Frank 202 could provide instructive input such as double tapping on the call icon 208 which would instruct the system to recognize a communication session exists but that a new mode of communication is requested for that session. A telephone call is then established between Frank 202 and Karl 206 and optionally graphically illustrated on the screen 200 with phone icons such as 202 b.

An example of the use of the video icon 210 is presented next in the context of the initial display shown in FIG. 2A. Frank 202 taps and holds with one finger on the video icon 210 and simultaneously taps on the icon for Max Power 204 in the list of contacts 218. The system 100 recognizes the two inputs and interprets them as a request to initiate a video conference communication session with Max Power 204. The system 100 can retrieve presence information for Max Power 204 to determine if Max Power 204 can accept a video conference communication. Information 204 a can indicate that Max has video conference capability and is currently available. If so, the system 100 establishes a communication session via video between Max 204 and Frank 202 and updates the display 200 accordingly. If not, the system 100 can ask Frank 202 if he desires to select another communication modality. Frank 202 can then tap on one or more available utility icons.

An example use of the IM icon 212 is presented next in the context of FIG. 2D. Frank 202 drags Karl 206, who is already a participant in an existing communication session, onto the IM icon 212 to establish an IM sidebar with that participant. The system 100 creates an additional communication session between Frank 202 and Karl 206 via IM that is separate from but concurrent with the main communication session 201. The system 100 can optionally show a representation of the IM sidebar between Frank 202 and Karl 206 to Max Power 204.

In an example use of the email icon 214 also in the context of FIG. 2D, Frank 202 can swipe three fingers over the email icon 214 on a touch screen to send a mass email to all or a portion of the participants in current communication sessions. The system 100 can identify all participants represented in the display 200 and retrieve available email addresses for those participants. If some participants do not have an available email address, the system 100 can intelligently select a suitable replacement, such as IM or SMS based on availability in general or current presence information or a current mode. After or while the system 100 is gathering all the email address information, Frank 202 can enter a message in a popup window and click send. The system 100 then sends the message to the intended recipients.

The social networking icon 216 is discussed in the context of FIG. 2D. Frank 202 double taps on the social networking icon 216. In one variation, the system 100 visually identifies which participants are not part of Frank's social network. Frank 202 can then click or tap on the visually identified participants to quickly add them to a social network such as LinkedIn or Facebook. In another variation, when Frank 202 taps once on a social networking icon 216 and once elsewhere, the system 100 can post on a social network data related to the location of the second tap, such as an audio clip, a document, a video file, a link, text, an image, or any other data. Social media include web sites such as Facebook, Twitter, LinkedIn, MySpace, and so forth.

The user can interact with the trash icon 220 by flicking participant icons in the general direction of the trash icon 220, drawing an X over a participant icon or over an entire communication session, shaking the device if the device is mobile or via other instructive input. The system 100 can terminate a communication session, delete a contact, remove a participant from a communication session, or take other actions based on the user interaction associated with the trash icon 220. Of course the trash icon 220 can take any other graphical image which reflects that a person or entity is leaving a communication session, such as door or a window. For example, a window or door can be on the display screen and the host can remove an entity from a communication session by moving the respective icon to the window or door. As can be appreciated, user interaction with a utility icon and at least one entity in a communication session can take many forms as discussed above. Each example interaction can be applied to other utility icons in a similar manner.

A user can also initiate a communication session by dragging and dropping an appropriate icon onto a contact. Alternatively, the user can browse through a list of contacts 218, then drag and drop a desired contact to add the desired contact to the communication session. The system 100 then automatically contacts that person in their desired mode, a sender preferred mode, a currently available mode based on presence information, or in a common available mode between the participants and joins that person to the communication session. The system 100 can display other information as well, such as a calendar, notes, memos, personal presence information, and time. A user can manually and seamlessly switch over from one modality to another mid-session. For example, a user participating in a communication session via cell phone who is now near a webcam can drag a video conferencing icon onto the communication session to switch from cell phone to video conferencing. The system 100 display can be user-configurable.

While drag and drop is used primarily in these examples, any user input can be provided such as tapping, flicking with a gesture, etc. to indicate a linking of a selected utility icon 208, 210, 212, 214, 216 with one or more participants (which may include people and non-person entities like a conference call or a calendar item).

In one aspect, user preferences guide the amount and type of information conveyed by the graphical elements and the associated text. User preferences can be drawn from a viewer's preferences and/or a source person's preferences. For example, a viewer sets preferences to show others' email addresses when available, but a source person sets preferences as never share email address. The source person's preferences (or preferences of the “owner” of the information) can override a third party's preferences.

Having discussed several variations of FIGS. 2A-2D, the discussion now turns to a network view 300 of the communication session as shown in FIG. 3. A network 302 connects various communications devices 304, 306, 308, 310, 312 and conveys information from device to device. The telecommunications network can be one of or a combination of a plain old telephone service (POTS) network, an asynchronous transfer mode (ATM) network, the world wide web, an integrated services digital network (ISDN), frame relay network, Ethernet network, token ring network, and any other suitable wired or wireless network. The network can include one or more interconnected nodes 314, 316, 318, 320 which perform all or part of the connection and transmission functionality that underlies the graphical representation of communication sessions on a GUI. Such network nodes 314, 316, 318, 320 can perform all the functionality in the network 302 or can operate in conjunction with end-user communication devices 304, 306, 308, 312 to manipulate communication sessions. Only the display component is shown for devices 304 and 306.

In one aspect, a centralized entity such as node 320 controls the communication session. The centralized entity 320 can reside in the network and/or communicate via the network. The centralized entity 320 can operate as a centralized enterprise intelligence server. In another aspect, the communication session control and functionality is distributed among multiple server resources 314, 316, 318, 320 in the network or cloud 302. In addition to a centralized intelligence and distributed intelligence in the cloud, the network 302 can provide this functionality using a peer-to-peer approach with intelligence on the endpoints 312, 308, 306, 304. Some variations include providing standardized functionality on a standards-compliant server and non-standardized functionality distributed across the endpoints. In some respects, the “system”, “device”, “communication device” or other characterization of a hardware component that performs certain steps can be interpreted as one or more of the various devices as endpoints or network elements shown in FIGS. 1 and 3.

Each communications device 306, 304, 312, 308 of FIG. 3 shows a different aspect or view of the same communication session. For example, the display of device 304 shows the same display of the same participants 202, 204, 206 as shown in FIG. 2D. The display of device 306 shows the same participants 202, 204, 206 in a different view of the communication session from the perspective of device 306. Likewise devices 308 and 312 show the same participants 202, 204, 206 in different views which can each be tailored to the individual participants in the communication session. Device 304 can represent a host or manager of the communication session but someone who is not shown as participating in the call.

In one aspect, a mobile device 308 connects with a base station 310 to connect to the network. A mobile device 308 can generate its own view of the communication session or it can generate a duplicate or a companion view of another device's display.

In general, the management of the communication session involves a user, such as the user interfacing with device 304, providing input to the graphical interface. The input as is noted herein involves an action step for manipulating or managing the communication session. Corresponding instructions are provided to the network node 320 or network nodes which actively provide the communication links to the various participants. Thus, the network node or nodes will carry out the instructions received from the managing device such that actions like communication session bridging, removing a person from the session, establishing a sidebar discussion, separating the communication session into several smaller communication sessions, and so forth, are appropriately carried out.

FIG. 3 also can illustrate a view of a person or entity who seeks to contact someone in a communication session. For example, assume Mary has device 304 and wants to call Frank 202. If she does, if permissions are granted, she can be presented with a visual of Frank's communication session showing 202, 204, 206. This can provide her varying levels of detail with respect to the type of communication, who is on the call, the subject matter of the call, etc. In this manner, Mary can be presented with options since she now has this knowledge. Perhaps she may want to IM or email instead of call. She may request to join the conference call. She me want to send a message to Frank 202 that she noticed he was on a call and could he return her call in 1 hour. Presenting Mary with a graphical image of the communication session presence of the person she is calling enables a more efficient mechanism for her to determine how to best take the next step in communicating with Frank 202.

FIG. 4 illustrates a different view 400 of the same communication session shown in FIG. 2D, but from the perspective of Max Power 204. In this case, Max Power is the moderator, so Max's icon 204 appears at a central location compared to the remaining participants' icons 202, 206. Each participant's icon has associated text 202 a, 204 a, 206 a indicating name and communication mode. The text 202 a, 204 a, 206 a can also represent other data about each person or can include icons indicating various types of data such as communication mode, presence, temporal information, calendar information, hierarchical information, employer information and so forth. The system 100 can arrange the icons based on an organizational hierarchy, role, location, seniority or other combinations of parameters.

The interface 400 in FIG. 4 uses connecting lines and a central hub 402 and spokes from the participants to the hub to indicate that the three participants 202, 204, 206 are in the communication session. As the system 100 engages in additional communication sessions, the display shows additional concurrent sessions in different locations. In some cases such as instant messaging, a single location contains multiple communication sessions of a same type. For example, multiple IM communication sessions can be displayed as a stack of cards at a single location. The hub 402 of FIG. 4 and the lines connecting icons in FIG. 2D are also illustrative display configurations for active connections. Other configurations of icons, text, and/or graphical elements can replace those shown herein.

The display 400 can include a title bar 404 and various controls such as a mute button 406, an exit button 408, a transcription button, and an “add participant” button 410. When a user clicks on the “add participant” button 410, the system 100 can present the user with a dialog to select one or more participants to add. The title bar 404 can include information such as call duration, call host, and preferred communication mode. When a user clicks on the mute button 406, the system 100 can mute the user's line or other participants' lines. For a participant, clicking the exit button 408 causes that participant to leave the conference. The host could also highlight one of the participants with a click or gesture and then click on exit 408 to remove them from the conference. The conference host can also terminate the communication session for all participants by clicking the exit button 408.

When a user clicks on a transcription button (not shown), the system 100 can engage a speech recognition module to recognize and transcribe speech. The system 100 can display transcriptions in real time, such as a ticker of text beneath a user's icon. The system 100 can also prepare a full transcript of an entire communication session and email the full transcript to selected participants after the communication session ends. The system 100 can transcode audio from a telephone call to text for a text messaging session via automatic speech recognition (ASR) and can convert in the other way via text-to-speech (TTS). Thus, Max 204 can communicate via IM with Frank 202 and Karl 206 in the same session but in different modes. These differences can be visually representing in the session display.

Alternatively, the user can browse and select a participant from a list of contacts and drag desired participants directly into the graphical representation of the conference. A user can also add a party to the communication session, invite a party to the communication session, drop a party from the communication session, split a communication session, form a sidebar communication session, and merge two communication sessions. A sidebar communication session is a concurrent session between two or more participants in a main communication session, but separate from the main communication session. For example, if Max Power 204 is proposing an idea, Frank Grimes 202 and Karl 206 can form a sidebar to discuss the proposed idea without Max Power listening or even knowing about the sidebar. In some cases knowledge of the sidebar's existence is available to other participants, but the other participants do not know what is being communicated in the sidebar.

Having discussed several variations of FIG. 4, the discussion now turns to FIG. 5, which illustrates a third view 500 of a communication session 502 between Max Power 204, Frank Grimes 202, and Karl 206, but from the perspective of Karl 206 and with another concurrent real-time communication session 512 and a current incoming call 514 for Karl 206. The active connections of the communication session 502 are shown here connected via a triangle 510. The system 100 as shown in FIG. 5 can display overlapping graphical elements, a line connecting graphical elements, a shape connecting graphical elements, a shape with radiating lines connecting graphical elements, and/or a common augmented appearance of graphical elements. The system can group close together or overlap icons corresponding to individuals at a same location. Thus, the visual representation can vary for each “participant” in a communication session depending on the individual, location, grouping of people, and so forth. This visual image gives the participants and easy understanding of who is in the communication and the ability to easily manage the session graphically.

The display in FIG. 5 shows three separate concurrent communication sessions 502, 512, 514. The first communication session 502 is between Max 204, Frank 202 and Karl 206. Respective metadata is shown 202 a, 204 a, 206 a. The second communication session 512 is a communication session in which Karl is a participant and which includes a group from California 504, Paul 506, Rob 508, Layne 524, and a group from Florida 522. Thus, Karl 206 is a simultaneous participant in two communication sessions. The system 100 displays each communication session separately. In addition to these two communication sessions, the system 100 displays an incoming communication 514 from John Mah. The incoming communication icon 514 can blink, bounce, pulse, grow, shrink, vibrate, change color, send an audible alert (such as a ringtone), and/or provide some other notification to the user of the incoming call. Karl 206 can interact with and manipulate this incoming request in the same manner as the other current communication sessions. The system 100 does not differentiate between an active communication session and a communication session representing an incoming call. For example, Karl 206 can drag and drop the incoming call 514 on top of the communication session 512 to add the incoming call directly to the communication session 512 or 502. As another example, Karl 206 can drag and drop the incoming communication 514 to a trash can icon to ignore the call, double click on the incoming communication 514 to send the incoming caller (if it is a call) to voicemail, or tap and hold to place the caller on hold.

If Karl 206 accepts the incoming communication 514 from John Mah, the system 100 creates and displays a new communication session including Karl 206 and John Mah (not shown in FIG. 5). The system 100 can place the new communication session elsewhere on the display.

The system 100 can visually represent active connections as overlapping graphical elements for individuals at one location. For example, in the second communication session 512, the participants from Florida are overlapped as are the participants from California. The user can manipulate these overlapping icons to identify or communicate with participants in a communications session.

The display can include a listing of contacts 520 and calendar events 522. User interactions with the contacts can trigger an expanding view or a popup window with more information. The user can then click on a particular contact to see a list of available modes of communication for that contact. The system 100 initiates an additional communication session with that contact based on a user selection of an available mode of communication. The system 100 connects and displays that communication session along with the existing three 502, 512 and the newly added session with John Mah (not shown).

Further, the system 100 can include a search capability. A user can search for contacts, calendar events, email addresses, phone numbers, and so forth. This approach can be advantageous for users with very large contact lists or for finding all members of a particular department.

Often a contact will include several contacts for a particular communication modality. For example, one contact can include four phone numbers, two text message numbers, three email addresses, and so on. In these cases the system 100 can intelligently select one of the available addresses or numbers for a selected modality, or the system 100 can present a disambiguation dialog so the user can select a desired address or number.

In many instances, a user will not have a contact entry for all the other communication session participants. To add a communication session participant as a contact, the user can drag and drop the desired icon on the contacts icon. The system 100 can automatically locate available information about that participant to add to the contact database.

One possible user input is to divide the communication session shown in FIGS. 6A-2B. The user can draw a line with a mouse drag or a finger on a touch screen separating the communication session into two groups. The system 100 can then divide the communication session into two separate concurrent communication sessions based on the groups. In one aspect, a communication session manager can divide a communication session for a limited time, after which the communication sessions are automatically merged together. For example, a manager can say “Team A, discuss pros and cons of strategy A. Team B, discuss pros and cons of strategy B. After five minutes, we'll return and report on our discussions.” Then the manager draws a line or otherwise selects groups for the breakout sessions and sets a duration. A dialog or icons can appear when the communication session is separated which present the available options for managing the separation. The system 100 divides the communication session and rejoins them after the set duration. The manager can indicate additional settings, such as prohibiting sidebar conversations between the groups during the breakout sessions. The manager can be independent of the breakout sessions and monitor each breakout session via audio, summary, and/or real-time text.

FIG. 6A illustrates an action to merge two communication sessions in a GUI 600. The system 100 displays two separate communication sessions 602, 604. The first communication session 602 has four participants 602 a-d, each having a communication modality icon in the upper left corner of each respective icon indicating a communication mode such as instant messaging and video conferencing. The second communication session 604 has three participants 604 a-c, each having a communication modality icon in the upper left corner such as telephone. Participant 604 c is shown as a stacked group of participants and may represent a group of people participating from a single location, single company, family, entity, or other grouping criteria. The user can click on the central connector hub 606 of the first communication session, then drag or otherwise move 608 and drop or otherwise locate anywhere on, in, or near the second communication session 604. This is one example of mouse or touch screen based input, although the user can provide equivalent input using other human interface approaches. Based on this input, the system 100 merges the first communication session 602 with the second communication session 604. If each communication session 602, 604 included a managing host, then negotiations may occur in which one of the two managing hosts becomes the host of the combined conference. Although this example includes a session host, a session host is not required in either session to combine sessions.

FIG. 6B illustrates a first example of the merged communication session 610. In this first example, the system 100 merges the first and second communication sessions 602, 604 with a bridge element 612. The system 100 can display a bridge element icon indicating which communication modality is used to bridge the communication sessions. In this example, the bridging element is a telephone modality. This approach allows for a very straightforward way to detach the merged communication sessions and return the first and second communication sessions 602, 604 to their original state as shown in FIG. 6A. This graphical approach also preserves some of the graphic features of the earlier two separate communication sessions from FIG. 6A. A host user could provide input such as drawing a line on the touch screen between user 604 a and the hub 606 which would instruct the system 100 to sever the communication session back into two separate communication sessions as shown in FIG. 6A. The host could also click on or otherwise select or select particular users and drag or otherwise move them to the side. For example, with a mouse or a touch pad, the host may click on users 604 c, user 602 a and user 602 c (such as by holding down the shift key and clicking on the respective icons to generate a group of highlighted participants) and drag them off to the side. This would indicate to the system 100 to manage the establishment of a separate communication session with those participants to continue a discussion. Appropriate adjustments can be made in these cases for the individual modalities. For example, if a combination of IM and telephone communication is used, then text can be converted to speech and speech to text to enable the communication to occur for each participant.

FIG. 6C illustrates a second example of the merged communication session 614. In this second example, the system 100 merges the first and second communication sessions 602, 604 without separating or distinguishing between participants based on the former configurations of the communication sessions 602, 604. The system 100 can arrange the participant icons to convey role, location, seniority, and host status. If the first and second communication sessions included hosts, the system 100 can select one or the other to be a host of the merged communication session 614 or can promote two or more hosts to the status of co-host in the merged communication session 614.

A host or other user can split the merged communication session 612. In the case of a touch sensitive display, a user draws a line down the middle of the connected graphical elements. The system 100 interprets that input and splits the communication session into one communication session of participants whose icons are on one side of the line and another communication session of participants whose icons are on the other side of the line. Often the arrangement of participant icons will not exactly line up with how the user wants to split the communication session. The user can first drag and reposition icons in the graphical representation of the communication session, then provide the separation input. Using other forms of input, the user can hold down control or shift and tap on icons to select them for inclusion in a split operation, then click a split button or drag the selected icons to a designated split region on the GUI or to a location that is beyond a split threshold distance.

In situations where the system 100 stacks multiple icons of participants, such as stack 604 c, the user can double click or tap, perform a pinch gesture on a touch screen, or provide other input to expand the stack of icons. The user can then more easily select all or part of the participants in the expanded stack as part of the splitting process. In another variation, the user or host can filter and split participants in the communication session based on some attribute, such as communication modality, organization, role, and so forth. For example, the host can provide input to select session participants communicating via instant messaging for splitting into a separate communication session.

As can be appreciated, the visual depiction of concurrent communication sessions enables the easy control of adding, modifying, splitting and combining various combinations of users between different communication sessions and joining or dynamically switching between sessions for any user. The system 100 or network nodes 202 will receive the instructions from the client end user devices can carry out those instructions to modify the communication experience.

The disclosure now turns to the exemplary method embodiment shown in FIG. 7. For the sake of clarity, the method is discussed in terms of an exemplary system 100 such as is shown in FIG. 1 and/or network nodes 320 configured to practice the method.

FIG. 7 illustrates an exemplary method for managing a plurality of concurrent communication sessions via a graphical user interface (GUI). The system 100 presents a set of connected graphical elements representing a structure of the respective communication session via the GUI for each communication session in the plurality of concurrent communication sessions, each communication session having at least two communicating users, wherein an appearance of the set of connected graphical elements is based on a communication mode (702). The communication mode can be one or more of voice over IP (VoIP), telephone, cellular phone, videoconference, instant messaging, text messaging, email, presence, and web-based. In one aspect, the system 100 displays concurrent communication sessions having a common participant (a user) and presents the concurrent communication sessions on the GUI from a point of view of the one user. Each participant in a communication session may view their own sessions. For example, if user 604 b in FIG. 6C is separated by the host into a smaller communication session with users 604 a and 602 d, then if that user at a respective communication device had previously viewed the entire un-severed communication session as shown in FIG. 6C, the system may only display the separated session including 604 b, 604 a and 602 d. The other session may disappear from the device viewed by 604 b. Thus, not only are the communication links between various users adjusted based on the modification of communication sessions but the system automatically adjusts the respect views of all the participants based on the current context of their communication experience.

The system 100 receives user input associated with one set of connected graphical elements, the user input having an action associated with the respective communication session (704). The system 100 can receive user input via mouse, keyboard, stylus, touch, a single-touch or multi-touch gesture, a speech command, a button press, a motion in air that is sensed and other suitable human interfaces. The system 100 can receive input via a separate handheld device such as a remote control, pointer, or mobile phone.

The system 100 performs the action based on the received user input (706). The action can be one individual action or a combination of sub-actions. The action can be combining two communication sessions, splitting one communication session into more than one communication sessions, and splitting a communication session into more than one communication sessions for a limited duration after which the system 100 merges them back into a single communication session.

The action can be to create a sidebar communication session that spans at least two existing communication sessions. For example, if the user is participating in a telephone conference call and an instant messaging session, the user can create a sidebar communication session via video conference with one participant from the conference call and another participant from the instant messaging session. As can be appreciated, this disclosure provides a variety of approaches to managing concurrent communication sessions.

Embodiments within the scope of the present disclosure may also include tangible and/or non-transitory computer-readable storage media for carrying or having computer-executable instructions or data structures stored thereon. Such non-transitory computer-readable storage media can be any available media that can be accessed by a general purpose or special purpose computer, including the functional design of any special purpose processor as discussed above. By way of example, and not limitation, such non-transitory computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions, data structures, or processor chip design. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or combination thereof) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of the computer-readable media.

Computer-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Computer-executable instructions also include program modules that are executed by computers in stand-alone or network environments. Generally, program modules include routines, programs, components, data structures, objects, and the functions inherent in the design of special-purpose processors, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.

Those of skill in the art will appreciate that other embodiments of the disclosure may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Embodiments may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination thereof) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

The various embodiments described above are provided by way of illustration only and should not be construed to limit the scope of the disclosure. Those skilled in the art will readily recognize various modifications and changes that may be made to the principles described herein without following the example embodiments and applications illustrated and described herein, and without departing from the spirit and scope of the disclosure. 

1. A computer-implemented method of managing a plurality of concurrent communication sessions via a graphical user interface (GUI), the method causing a communications device to perform steps comprising: for each communication session in the plurality of concurrent communication sessions, presenting a set of connected graphical elements representing a structure of the respective communication session via the GUI, the communication session comprising at least two communicating users, wherein an appearance of the set of connected graphical elements is based on a communication mode; receiving user input associated with one set of connected graphical elements, the user input having an action associated with the respective communication session; and performing the action based on the received user input.
 2. The computer-implemented method of claim 1, wherein the communication mode is one of public switched telephone, Voice over IP (VoIP), private branch switched telephone, cellular telephone, videoconference, instant messaging, text messaging, email, multi-media, and web-based.
 3. The computer-implemented method of claim 1, wherein the action is combining two communication sessions.
 4. The computer-implemented method of claim 1, wherein the action is splitting one communication session into more than one communication sessions.
 5. The computer-implemented method of claim 4, wherein the splitting is for a limited duration, after which the more than one communication sessions are merged into the one communication session.
 6. The computer-implemented method of claim 1, wherein the action is creating a sidebar communication session that spans at least two existing communication sessions.
 7. The computer-implemented method of claim 1, wherein the user input is one or more of mouse input, keyboard input, stylus input, touch input, a single-touch or multi-touch gesture, a speech command, a button press, and input via a handheld device.
 8. The computer-implemented method of claim 1, wherein the plurality of concurrent communication sessions includes one user and are presented on the GUI from a point of view of the one user.
 9. The computer-implemented method of claim 1, wherein the action is selecting a current communication session to receive communication input.
 10. The computer-implemented method of claim 1, wherein the action is switching between the plurality of concurrent communication sessions.
 11. The computer-implemented method of claim 1, wherein the action is creating a sidebar communication session with a participant in one communication session of the plurality of communication sessions.
 12. A system for managing a plurality of concurrent communication sessions via a graphical user interface (GUI), the system comprising: a processor; a first module controlling the processor to, for each communication session in the plurality of concurrent communication sessions, present a set of connected graphical elements representing a structure of the respective communication session via the GUI, the communication session comprising at least two communicating users, wherein an appearance of the set of connected graphical elements is based on a communication mode; a second module controlling the processor to receive user input associated with one set of connected graphical elements, the user input having an action associated with the respective communication session; and a third module controlling the processor to perform the action based on the received user input.
 13. The system of claim 12, wherein the communication mode is one of public switched telephone, Voice over IP (VoIP), private branch switched telephone, cellular telephone, videoconference, instant messaging, text messaging, email, multi-media, and web-based.
 14. The system of claim 12, wherein the action is combining two communication sessions.
 15. The system of claim 12, wherein the action is splitting one communication session into more than one communication sessions.
 16. The system of claim 15, wherein the splitting is for a limited duration, after which the more than one communication sessions are merged into the one communication session.
 17. The system of claim 12, wherein the action is creating a sidebar communication session that spans at least two existing communication sessions.
 18. The system of claim 12, wherein the user input is one or more of mouse input, keyboard input, stylus input, touch input, a single-touch or multi-touch gesture, a speech command, a button press, and input via a handheld device.
 19. The system of claim 12, wherein the plurality of concurrent communication sessions includes one user and are presented on the GUI from a point of view of the one user.
 20. A non-transitory computer-readable storage medium storing instructions which, when executed by a computing device, cause the computing device to manage a plurality of concurrent communication sessions via a graphical user interface (GUI), the instructions comprising: for each communication session in the plurality of concurrent communication sessions, presenting a set of connected graphical elements representing a structure of the respective communication session via the GUI, the communication session comprising at least two communicating users, wherein an appearance of the set of connected graphical elements is based on a communication mode; receiving user input associated with one set of connected graphical elements, the user input having an action associated with the respective communication session; and performing the action based on the received user input.
 21. The non-transitory computer-readable storage medium of claim 20, wherein the communication mode is one of public switched telephone, Voice over IP (VoIP), private branch switched telephone, cellular telephone, videoconference, instant messaging, text messaging, email, multi-media, and web-based.
 22. The non-transitory computer-readable storage medium of claim 20, wherein the action is combining two communication sessions.
 23. The non-transitory computer-readable storage medium of claim 20, wherein the action is splitting one communication session into more than one communication sessions. 